1. Field of the Invention
The present invention generally relates to voice-over Internet Protocol (VoIP) systems and more particularly to a method and system for compensating for the effects of packet delays on perceived speech quality in a VoIP system.
2. Description of Related Art
Voice Over IP (VoIP) is short for Voice over Internet Protocol. It includes any technology that enables voice telephony over IP Networks. If VoIP is used in a private setting such as in an Intranet, or over a Wide Area Network (WAN), it is generally referred to as VoIP. If VoIP is transported over the public Internet, VoIP is generally referred to as Internet telephony.
Speech signals are transmitted over packet networks in a VoIP system. Due to real-time constraints on the delivery of speech signals, the perceived speech quality is susceptible to delayed arrival of packets. In a packet network, packets may arrive asynchronously, i.e. the exact arrival time of a packet can be significantly different from a nominal arrival time. Also, each packet may be subject to differing amounts of packet delay in the network. This variation in packet delay is called jitter. As a result of jitter, packets may arrive out of sequence at an end-point, wherein an end-point is a client in a server-client network, for example.
Packets arriving at the end-point are queued in a jitter buffer where they are placed back in sequence, if required. In a VoIP system, a jitter buffer is typically required wherever a speech packet stream is terminated. The purpose of the jitter buffer is to absorb jitter. Since packets arrive asynchronously, they are placed into the jitter buffer asynchronously, but the packets are removed from the jitter buffer synchronously, i.e. at fixed time intervals. The jitter buffer is typically permitted to grow to a certain size before packets are removed for processing. This size of the jitter buffer is referred to as the nominal length of the jitter buffer. Since packets are arriving at random time intervals, the instantaneous number of packets in the jitter buffer may be different from the nominal length. This different length may be referred to as the instantaneous length or jitter buffer length. The maximum length to which a jitter buffer may grow is referred to as the maximum size of the jitter buffer. The sequence of the incoming packets is monitored and if a missing (or out of sequence) packet is detected, a placeholder or NULL packet is created to take the out of sequence packet's place. If the missing packet arrives at a subsequent time, it may replace this NULL packet. If the missing packet has not arrived by the time it is supposed to be removed from the jitter buffer, a packet loss is declared by the VoIP system. These packet losses can result in significant degradation in the perceived speech quality at a receiver that is receiving these packets.